import QQMapWX from '../../../libs/qqmap-wx-jssdk1.2/qqmap-wx-jssdk'
// 实例化API核心类
var qqmapsdk = new QQMapWX({
  key: 'YAUBZ-PMLWN-QARFT-SSNG3-BSL6H-PWFZR' // 必填
})
Page({
  data: {
    points: [], // 渲染数组
    address: '' // 当前位置
  },
  onLoad() {
    // 获取用户经纬度
    this.getLocation()
  },
  // 重新获取位置
  async chooseLocation() {
    // 调用小程序 API 获取新的位置
    const { latitude, longitude } = await wx.chooseLocation()
    // 获取新的位置附近的小区
    console.log('终点', latitude, longitude)
    this.getPoint(latitude, longitude)
    // 获取当前新位置
    this.getCurrentPosition(latitude, longitude)
  },
  async getLocation() {
    // 调用 API
    const { latitude, longitude } = await wx.getLocation()
    // 获取周边小区
    this.getPoint(latitude, longitude)
    console.log('起点', latitude, longitude)
    // 调用获取最新当前地址函数
    this.getCurrentPosition(latitude, longitude)
  },
  // 获取当前位置名称
  getCurrentPosition(latitude, longitude) {
    qqmapsdk.reverseGeocoder({
      location: `${latitude},${longitude}`,
      success: ({ result: { address } }) => {
        this.setData({ address })
      }
    })
  },
  getPoint(latitude, longitude) {
    // 显示加载提示
    wx.showLoading({
      title: '加载中...',
    })
    qqmapsdk.search({
      keyword: '住宅小区', //搜索关键词
      page_size: 5, // 返回数据条数
      location: `${latitude},${longitude}`, //设置周边搜索中心点
      success: res => {
        this.setData({
          points: res.data.map(({ id, title, _distance }) => ({ id, title, _distance }))
        })
      },
      complete: () => {
        // 关闭加载提示
        wx.hideLoading()
      },
    })
  }
})